|
[ (x,y) | x <- [1 .. 6], y <- [1 .. x], x+y < 10] This returns all pairs of numbers (x,y) where x and y are elements of the list 1, 2, ..., 10, y <= x and their sum is less than 10. A list comprehension is simply "syntactic sugar" for a combination of applications of the functions, concat, map and filter. For instance the above example could be written: filter p (concat (map ( x -> map ( y -> (x,y)) [1..x]) [1..6])) where p (x,y) = x+y < 10 According to a note by Rishiyur Nikhil The term "list comprehension" appears in the refe スポンサード リンク
|